Organizations are increasingly trying to consolidate printing into larger and larger print servers, and to remove these print servers from individual branch offices to a centralized location such as a data center. Print servers typically perform two main functions—that of printer control and job handling. Printer control typically includes, among other things, storing device settings, storing printing defaults, queuing and controlling print jobs, and controlling and vending printer drivers. Job handling typically includes, among other things, storing the print job on the server and communicating it to the printer.
Print servers typically queue the jobs that are sent to them and, in an enterprise setting, each job can typically be sent from a branch office over a slow WAN link. When it is time to print the print job, the print job is then typically sent back down the same slow link to a printer that may likely be located on the same subnet as the client. From a performance standpoint, it does not make sense to send a print job from the client to a print server, and then back from the print server to the client.
One solution to this problem might be to remove the print server from the system and allow clients to print directly to the nearest printer. This solution has a number of drawbacks. For example, some user of the printer would have to serve as an administrator in order to properly administer the printer. In addition, the local-only printer would not be listed in the Active Directory Service, which is a general purpose distributed database that can, for an enterprise, keep track of users, computers or anything that can be defined by a schema and which is not updated often. One of the things that the Active Directory can track across an enterprise are enterprise resources, such as printers.
Furthermore, configuration and drivers for multiple similarly-connected printers could not be easily centrally managed. For example, this arrangement would make it difficult if not impossible for administrators to manage print jobs across multiple, geographically-separated printers. Additionally and importantly, removing the printer server from the system may likely allow multiple clients to overwhelm the printer in the event too many attempts are simultaneously made to submit jobs (referred to as “device competition), or to poll the printer to obtain status changes.